Communication control method in connection-oriented communication, related transfer device, and billing management device

ABSTRACT

A gateway server  40 , in the case that discontinuation of TCP Connection A between a portable phone  10  and gateway server  40  is detected when gateway server  40  is relaying HTTP communication between portable phone  10  and a content server  70 , maintains TCP Connection B 1  between a billing management server  50  and gateway server  40  until gateway server  40  receives from billing management server  50  billing information for HTTP communication relayed up to the time of the discontinuation of TCP Connection A.

RELATED APPLICATION

This application is a divisional application of U.S. application Ser.No. 10/507,791 filed Sep. 13, 2004.

TECHNICAL FIELD

The present invention relates to techniques used for a billing processrelating to connection-oriented communication.

BACKGROUND ART

In a connection-oriented communication method using a connection-typeprotocol typified by TCP (Transmission Control Protocol), end-to-endconnection between a communication device and a correspondentcommunication device is first established, and then data is sequentiallytransmitted via the connection. The connection is released when the datatransmission is completed. This type of communication method ischaracterized in that once a circuit (or a session) is establishedbetween communication devices; the same circuit is dedicated to the datatransmission until the session is completed.

A communication carrier, which provides a packet communication serviceby way of connection-oriented communication, charges one of the partieson the basis of an amount of data transmitted and received during aconnection period from when the connection is established until theconnection is released. For example, in a case that a communicationterminal requests a content server to deliver content to the terminal, aconnection is first established between the communication terminal andthe content server. The communication terminal transmits a contentrequest message via the established connection to the content server,and, in response to the request message from the communication terminal,the content server delivers content to the communication terminal viathe same connection. The connection is released after the communicationterminal receives the content. The carrier operating the packetcommunication service performs a billing process, after obtaininginformation required for billing, on the basis of data transmitted orreceived via the connection, with the data including the request messagesent from the communication terminal to the content server and thecontent delivered to the communication terminal.

In such connection-oriented communication, however, there exists aproblem in that communication may be discontinued before datatransmission is complete. This may occur as a result of an instructionissued by one of the communicating devices or as a result of a failureof a connection link. In the case that communication is discontinuedfollowing issuance of a request message, requested content can not befully delivered from a content server to a requesting terminal; andconsequently a carrier operating the packet communication service maynot be able to obtain information required for billing, as a result ofwhich it becomes impossible for a communication charge relative to therequest message to be collected.

DISCLOSURE OF INVENTION

In view of the stated problems of the art described above it is anobject of the present invention to provide a communication controlmethod, a transfer device, a program, and a recording medium, use ofwhich enable an appropriate communication charge to be made on the basisof an amount of data transmitted following issuance of request message,even in a case that connection-oriented communication is prematurelydiscontinued.

To achieve the stated object, the present invention provides a firstcommunication control method comprising: relaying by a transfer deviceconnection-oriented communication performed between a communicationterminal and a correspondent communication device; and controlling aconnection, at the transfer device, so as to maintain a connection atleast between the transfer device and a billing management device, whichdevice functions as a relay node of a connection between the transferdevice and the communication device, in a case that the transfer devicehas not received billing information for the connection-orientedcommunication from the billing management device, when detecting, in therelaying step, discontinuation of a connection between the communicationterminal and the transfer device.

Further, the present invention provides a second communication controlmethod comprising: transmitting, from a transfer device relayingconnection-oriented communication performed between a communicationterminal and a correspondent communication device, to a billingmanagement device, such a device functioning as a relay node of aconnection between the transfer device and the communication device, asignal requesting disconnection of a connection used for transmittingdata from the transfer device to the billing management device, in acase that the transfer device detects, when relaying theconnection-oriented communication, discontinuation of a connectionbetween the communication terminal and the transfer device; andtransmitting, from the billing management device to the transfer device,billing information for the relayed connection-oriented communication inthe case of receiving the disconnection request signal from the transferdevice. Preferably, the billing management device determines billinginformation on the basis of a request message in a case that the billingmanagement device, at the time of receiving the signal requestingdisconnection of the connection, has not received a response messagetransmitted from the communication device in response to the requestmessage transmitted from the communication terminal.

Preferably, in the above first and second communication control methods,billing information comprises information specifying a billing option tobe applied to the connection-oriented communication from among aplurality of types of billing options for communication performed viathe transfer device. Further, such billing information may betransmitted to the transfer device when the billing management devicetransmits to the transfer device a response message responsive to arequest message transmitted from the communication terminal. In thiscase, the billing management device either inserts billing informationin the header of the response message for transmission, or adds thebilling information to the response message for transmission to thetransfer device. Alternatively, the billing management device relatesthe billing information to the response message for transmission.

In one preferred embodiment of the above first and second communicationcontrol methods, the transfer device detects discontinuation of aconnection between the communication terminal and the transfer deviceupon receiving, from a relay node located in a path of the link, asignal indicating disconnection of a link established between thecommunication terminal and the transfer device, the link being used inthe connection-oriented communication. Alternatively, the transferdevice detects discontinuation of a connection between the communicationterminal and the transfer device upon receiving from the communicationterminal a request for disconnecting a connection with the communicationdevice.

In another preferred embodiment of the first and second communicationcontrol methods, the transfer device measures an amount of datatransmitted to and received from the communication terminal, andtransmits to an accounting management device for computing communicationcharges, the measured data amount and the billing information receivedfrom the billing management device. Preferably, in the measuring step,the transfer device measures, an amount of data transmitted to andreceived from the communication terminal, with the exception oftransmitted and received data control signals used for controlling aconnection with the communication terminal. Further, the accountingmanagement device may bill for communication on the basis of both anamount of data transmitted and billing information transmitted in thetransmission step.

The present invention further provides a first transfer devicecomprising relaying means for relaying connection-oriented communicationbetween a communication terminal and a correspondent communicationdevice; and connection control means for controlling a connection whenthe connection-oriented communication is being relayed by the relayingmeans, so as to maintain a connection at least between the transferdevice and a billing management device, which device functions as arelay node for a connection between the transfer device and thecommunication device, in a case that the transfer device, upon detectingdiscontinuation of a connection between the communication terminal andthe transfer device, has not received billing information for therelayed connection-oriented communication from the billing managementdevice.

Further, the present invention provides a second transfer devicecomprising relaying means for relaying connection-oriented communicationbetween a communication terminal and a correspondent communicationdevice; time keeping means for counting time from when the transferdevice transmits to the communication device a request message receivedfrom the communication terminal, until the transfer device receives aresponse message transmitted from the communication device responsive tothe request message; and connection control means for controlling aconnection, when connection-oriented communication is relayed by therelaying means, so as to maintain a connection between the transferdevice and the communication device until the transfer device receivesbilling information for the relayed connection-oriented communicationfrom a billing management device, which device functions as a connectionrelay node between the transfer device and the communication device, oruntil a time counted by the time keeping means exceeds a prescribedtime, the connection being maintained in a case that the counted timedoes not exceed the prescribed time, and the transfer device has notreceived the billing information.

The billing information may be transmitted to the above first or secondtransfer device when the billing management device transmits to thetransfer device a response message responsive to a request messagetransmitted from the communication terminal. Preferably, the billinginformation comprises information specifying a billing option to beapplied to connection-oriented communication, from among a plurality oftypes of billing options applicable to communication performed via thetransfer device.

In another preferred embodiment, the first and second transfer devicesdetect discontinuation of connection between the communication terminaland the transfer device upon receiving a signal indicating disconnectionof a link established between the communication terminal and thetransfer device from a relay node located in a path of the link; thelink being used for the connection-oriented communication.Alternatively, the transfer device detects discontinuation of connectionbetween the communication terminal and the transfer device uponreceiving from the communication terminal a request for disconnecting aconnection with the communication device.

In another preferred embodiment, the first and second transfer devicesfurther comprise measuring means for measuring an amount of datatransmitted to and received from the communication terminal; andtransmission means for transmitting to an accounting management devicefor computing communication charges for the communication terminal, anamount of data measured by the measuring means and billing informationreceived from the billing management device. Preferably, the measuringmeans measures an amount of data transmitted to and received from thecommunication terminal by the relaying means, except for transmitted andreceived control signal data used for controlling the connection withthe communication terminal.

Preferably, the first and second transfer devices are gateway servers.

In addition, the present invention further provides a billing managementdevice comprising: storage means for storing billing managementinformation for connection-oriented communication performed between acommunication terminal and a correspondent communication device;determination means for determining billing information on the basis ofbilling management information stored in the storage means in the caseof receiving, from a transfer device relaying the connection-orientedcommunication, a signal requesting for disconnection of a connection fortransmitting data to the billing management device, whileconnection-oriented communication is being performed; and transmissionmeans for transmitting to the transfer device billing informationdetermined by the determination means.

In another preferred embodiment, the determination means determinesbilling information on the basis of a request message in a case that thebilling management device, at the time of receiving the signal from thetransfer device, has not received a response message from thecommunication device in response to a request message transmitted fromthe communication terminal.

In another preferred embodiment, the transmission means transmitsbilling information when the billing management device transmits aresponse message in response to a request message transmitted from thecommunication terminal. The transmission means either inserts thebilling information in the header of the response message or adds thebilling information to the response message for transmission.Alternatively, the transmission means relates the billing information tothe response message for transmission.

Preferably, the billing information is information specifying a billingoption to be applied to the connection-oriented communication from amonga plurality of types of billing options applicable to communicationperformed via the transfer device.

The present invention further provides a program for causing a transferdevice to execute the process of the first communication control method,and a computer-readable recording medium storing the program. Similarly,the present invention provides a program for causing a billingmanagement device to execute the process of the second communicationcontrol method, and a computer-readable recording medium storing theprogram.

Thus, the techniques provided by the present invention enable the properbilling for connection-oriented communication according to the amount oftransmitted data.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram showing a configuration of a communicationsystem according to an embodiment of the present invention.

FIG. 2 is a diagram illustrating a C-Plane protocol configurationaccording to the embodiment.

FIG. 3 is a diagram illustrating a U-Plane protocol configurationaccording to the embodiment.

FIG. 4 relates to the embodiment, and is a sequence chart illustrating abasic operation of each unit of the communication system in a case whereHTTP communication is performed between a portable phone and a contentserver.

FIG. 5 relates to the embodiment, and is a sequence chart illustratingan operation of each unit of the communication system in a case where auser of the portable phone instructs a termination of a connectionduring the HTTP communication.

FIG. 6 relates to the embodiment, and is a sequence chart illustrating adetailed operation of each unit of the communication system in the samecase as that shown in FIG. 5.

FIG. 7 relates to the embodiment, and is a sequence chart illustratingan operation of each unit of the communication system in a case where apacket link in a mobile packet communication network is disconnectedduring the HTTP communication.

FIG. 8 relates to the embodiment, and is a sequence chart illustrating adetailed operation of each unit of the communication system in the samecase as that shown in FIG. 7.

FIG. 9 relates to a first modification of the present invention, and isa sequence chart illustrating an operation of each unit of thecommunication system.

FIG. 10 relates to the first modification of the present invention, andis another sequence chart illustrating an operation of each unit of thecommunication system.

PREFERRED EMBODIMENTS

In the following, a preferred embodiment of the present invention willbe described with reference to the attached drawings. It is to be notedthat the same reference numerals are used for elements common among thedrawings.

A-1. Configuration of Embodiment 1. Configuration of CommunicationSystem

FIG. 1 is a block diagram illustrating a configuration of acommunication system 1 according to an embodiment of the presentinvention. As shown in the figure, communication system 1 comprises amobile packet communication network 100 having a portable phone 10, abase station 20, a gateway switching station 30, and a gateway server40, as well as a billing management server 50, the Internet 60, and acontent server 70, a billing processing device 80, and an accountingcenter 90.

Mobile packet communication network 100 is a communication networkproviding a packet communication service to portable phones 10 served bythe same mobile packet communication network 100, and network 100conforms with IMT-2000 (International Mobile Telecommunication 2000). Itis to be noted that communication system 1 further comprises a mobiletelephone network (not shown) in addition to mobile packet communicationnetwork 100. The mobile telephone network provides, to portable phone(s)10, a voice communication service for general mobile telephones.

Portable phone 10 is a mobile station which performs wirelesscommunication, from within a number of base stations 20 disposed in acommunication service area of mobile packet communication network 100,with a base station 20 covering a wireless cell where the phone islocated, thereby receiving a packet communication service and a voicecommunication service. In portable phone 10 a web browser is installed,and the phone can therefore perform HTTP (HyperText Transfer Protocol)communication with content server 70.

Gateway server 40 is a proxy-type gateway server provided betweengateway switching station 30 of mobile packet communication network 100and billing management server 50. Gateway server 40 has a function ofrelaying data exchanges by converting data between different protocols,for example, between a communication protocol for mobile packetcommunication network 100 and a communication protocol for Internet 60.Also, gateway server 40 has a function of capturing packets exchangedwith portable phone 10 and measuring the amount of data on the basis ofthe size of each packet and the number of the packets.

Gateway server 40 establishes a TCP Connection A with portable phone 10as well as a TCP Connection B with content server 70 in a case that HTTPcommunication is performed between portable phone 10 and content server70, thereby relaying the above HTTP communication. As shown in FIG. 1,TCP Connection B has a TCP Connection B1 between gateway server 40 andbilling management server 50 and a TCP Connection B2 between billingmanagement server 50 and content server 70. In the description, nodistinction is made between TCP Connection B1 and TCP Connection B2, andthey are referred to as a single connection, TCP Connection B, unlessotherwise required.

Billing management server 50 stores various information on the customersof the communication carrier operating mobile packet communicationnetwork 100, such information including a terminal ID for identifyingeach portable phone 10 subscribing a packet communication service and aprovider ID for identifying each content provider providing content toportable phone 10 using content server 70.

Billing management server 50 monitors HTTP communication performedbetween portable phone 10 and content server 70, and determines on thebasis of stored information (billing management information) whichbilling option is to be applied to the concerned HTTP communication.Upon receiving a HTTP Response message (hereinafter referred to as HTTPResponse) returned from content server 70 as a response to a HTTPRequest message (hereinafter referred to as HTTP Request) transmittedfrom portable phone 10, billing management server 50 inserts, in theheader of HTTP Response, billing information showing the above billingoption and the like information and transmits the HTTP Response togateway server 40.

The billing options can include three types of billing options being auser billing in which a user of portable phone 10 is charged for thepacket communication, a content provider (CP) billing in which a contentprovider is charged for the communication, and no billing in whichneither the user nor the content provider is charged for thecommunication. In the case of the CP billing, billing management server50 inserts, in the extension header of HTTP Response, a provider IDspecifying a particular content provider as the billed party in additionto the billing information specifying a billing option.

Content server 70 has a function of performing HTTP communication withportable phone 10, and stores various types of content including imagedata, music data, application programs and the like to be provided toportable phone 10. The stored content is transmitted to portable phone10, using the above function of performing HTTP communication.

Billing processing device 80 performs a billing process on the basis ofbilling data (the data amount and billing information) received fromgateway server 40, and transfers the result of the process to accountingcenter 90. Accounting center 90 issues a bill to each content providerand each portable phone 10 subscribing a packet communication serviceand a voice communication service after computing monthly communicationcharges for the packet communication and voice communication to collectcommunication charges from the subscriber of portable phone 10 or from acontent provider.

<2. Configuration of Communication Protocol>

Mobile packet communication network 100 and billing management server 50support a signal control protocol for call control and a user dataprotocol for transmitting user data; both protocols being related to apacket communication performed by portable phone 10. In the followingdescription, the signal control protocol for call control will bereferred to as a C-Plane (Control-Plane) protocol, and the user dataprotocol for transmitting user data as a U-Plane (User-Plane) protocol.

FIG. 2 is a diagram showing a configuration of C-Plane protocols.C-Plane protocols are communication protocols for transmitting/receivinga control signal for a call connection/maintenance, a call release, acall termination, and the like. It is to be noted that a hierarchicalstructure of protocols shown in the figure corresponds to the OSI (OpenSystems Interconnection) reference model; in the example of gatewayswitching station 30 shown in the figure, NWMP (NetWork ManagementProtocol) is a protocol corresponding to Application layer, Presentationlayer, and Session layer; UDP (User Datagram Protocol) corresponding toTransport layer; IP corresponding to Network layer; L1 2 correspondingto Datalink layer; and L1 corresponding to Physical layer.

As shown in the figure, C-Plane protocol used in mobile packetcommunication network 100 is not the same as C-Plane protocol usedbetween gateway server 40 and billing management server 50, being NWMPand GMP (Grimm Management Protocol), respectively. For this reason,gateway server 40 converts control messages notified from gatewayswitching station 30 according to NWMP to messages in accordance withGMP, where necessary, and transmits the messages to billing managementserver 50.

A control signal for connecting/releasing a packet link and fornotifying a disconnection, as well as a control signal for establishingTCP Connection A and TCP Connection B1 is transmitted/received using aC-Plane protocol, NWMP, between communication nodes such as base station20, gateway switching station 30, and gateway server 40 within mobilepacket communication network 100, and billing management server 50.

There may be a case where a wireless link between portable phone 10 andbase station 20 is disconnected while HTTP communication is beingperformed between portable phone 10 and content server 70. Suchdisconnection may occur because portable phone 10 moves outside thecommunication range, or its battery becomes exhausted. Also, there maybe a case where the wireless link or a wired link from base station 20to gateway server 40 is disconnected due to congestion in or of afailure in mobile packet communication network 100. In such cases, whenrelay nodes for a packet link such as base station 20, gateway switchingstation 30, a subscriber switch station (not shown), and like stationsdetect disconnection of the packet link, the detecting node transmits togateway server 40 a control signal notifying disconnection of the packetlink using NWMP.

FIG. 3 is a diagram illustrating a configuration of U-Plane protocols.U-Plane protocol is a communication protocol for performing HTTPcommunication, by which HTTP Requests or Responses are transmitted orreceived using U-Plane protocols, thereby enabling portable phone 10 toview HTML (HyperText Markup Language) content made open to the public bycontent server 70. U-Plane protocols are also used for transmitting andreceiving electronic mail. In FIG. 2, a hierarchical structure ofprotocols corresponds to the OSI reference model.

As shown in FIG. 2, HTTP is used between portable phone 10 and billingmanagement server 50 as a U-Plane protocol for controlling web accessand transmitting and receiving electronic mail. In this figure gatewayserver 40 operates as a HTTP proxy.

A Transport Layer protocol (W-TCP: TCP Profile over W-CDMA) is used inmobile packet communication network 100, W-TCP being configured based onTCP by tuning parameters packaged in TCP, in consideration oftransmission delay time in mobile packet communication network 100having wireless zones. In this way effective utilization of transmissionbandwidth is realized. On the other hand, a standard TCP is used betweengateway server 40 and billing management server 50; in which casegateway server 40 converts data between W-TCP and TCP in relaying HTTPcommunication.

It is to be noted that gateway server 40 measures, from among packetstransmitted to and received from portable phone 10, a size and a numberof packets transmitted and received using the U-Plane protocol aspackets for which a charge is incurred.

Described in the foregoing is one configuration of communication system1 according to the present embodiment.

[A-2. Operation of Embodiment]

Next, description will be given of an operation of the presentembodiment.

-   -   1. Normal Operation in HTTP Communication

First, description will be given, with reference to FIG. 4, of a basicoperation of each unit in communication system 1 in a case of HTTPcommunication being performed between portable phone 10 and contentserver 70. It is to be noted that in the sequence chart shown in thefigure, there are shown only signals transmitted and received using aU-Plane protocol.

When a user of Portable phone 10 starts a web browser, the phonetransmits a TCP Connection Open message (hereinafter referred to as TCPConnection Open) (step S101). Signals required for opening TCPConnections A and B are transmitted and received among portable phone10, gateway server 40, content server 70, and relay nodes (includingbilling management server 50) relaying respective TCP Connections A andB (step S102, S103). Thus, TCP Connection A is established betweenportable phone 10 and gateway server 40; and TCP Connection B isestablished between gateway server 40 and content server 70.

In practice, before transmitting TCP Connection Open, control signalsrelating to a packet link connection is transmitted/received, accordingto a C-Plane protocol (NWMP), among communication nodes disposed betweenportable phone 10 and gateway server 40 in mobile packet communicationnetwork 100, thereby enabling a packet link to be established betweenportable phone 10 and gateway server 40. Subsequently, via theestablished packet link, a TCP control signal such as TCP ConnectionOpen is exchanged between portable phone 10 and gateway server 40,thereby establishing TCP Connection A.

Similarly, gateway server 40 and billing management server 50 transmitand receive control signals of a packet link according to a C-Planeprotocol (GMP), subsequent to which a TCP control signal istransmitted/received via the packet link, thereby establishing TCPConnection B1. A packet link is first established also between billingmanagement server 50 and content server 70, after which a TCP controlsignal is transmitted/received via the packet link, thereby establishingTCP Connection B2.

Subsequently, once portable phone 10 has accessed a home page providedby content server 70, a user of portable phone 10 a performs anoperation input for a menu selection, downloading of content, or thelike, as a result of which a HTTP Request including instruction detailsbased on the operation input is transmitted from portable phone 10 togateway server 40 via TCP Connection A (step S104). Further, the HTTPRequest is transmitted from gateway server 40 to billing managementserver 50, and further to content server 70 via TCP Connection B (stepS105, 106).

Content server 70, upon receiving the HTTP Request from portable phone10, reads, from its memory, content corresponding to the details of theinstruction included in the HTTP Request (for example, screen data for aspecified menu, specified content, and the like) and transmits it toportable phone 10 as HTTP Response (step S107).

Billing management server 50, upon receiving the HTTP Response fromcontent server 70, first determines which billing option is to beapplied to the HTTP communication on the basis of stored information(billing management information). Billing management server 50 theninserts in the extension header of the received HTTP Response, billinginformation specifying a determined billing option and the like. It isto be noted that billing options include three types: user billing, CPbilling, or no billing. In the case of CP billing, a provider IDspecifying the billed party is inserted in the extension header alongwith information specifying the billing option. Then, billing managementserver 50 transmits to gateway server 40 the HTTP Response, with thebilling information inserted in the extension header (step S108).

Gateway server 40, upon receiving the HTTP Response from billingmanagement server 50 first writes in its memory the billing informationinserted in the extension header. Next, gateway server 40 deletes thebilling information from the extension header of HTTP Response, and thentransmits the same HTTP Response to portable phone 10 (step S109). TheHTTP Response is transmitted to portable phone 10 via TCP Connection A.

In this way, portable phone 10 is able to download desired content fromcontent server 70 by way of HTTP communication. Subsequently, aninstruction is input into portable phone 10 to end HTTP communication,as a result of which portable phone 10 transmits a TCP Connection Closemessage (hereinafter referred to as TCP Connection Close) to gatewayserver 40. Portable phone 10, gateway server 40, billing managementserver 50, and content server 70 then perform a process for releasingTCP Connection A and/or TCP Connection B (step S110), to thereby endHTTP communication.

In the meantime, gateway server 40 quantifies an amount of packet datatransmitted and received using a U-Plane protocol between gateway server40 and portable phone 10 from a time when TCP Connection Open wastransmitted from portable phone 10 in the above step S101 up to the timethat TCP Connection A, B was released in the above step S110. Then,gateway server 40 transmits to billing processing device 80 the dataamount and the billing information that have been stored in the memory(step S111).

Billing processing device 80 then performs a billing process on thebasis of the data amount and the billing information received fromgateway server 40, and transmits the result of the process to accountingcenter 90. Accounting center 90 computes monthly communication chargesfor packet communication and voice communication on the basis of datareceived from billing processing device 80 and other devices to issue abill, so as to collect communication charges from a subscriber ofportable phone 10 or from a content provider.

2. Operation Performed when TCP Connection A is Released During HTTPCommunication

Next, description will be given, with reference to FIGS. 5 to 8, of anoperation of each unit of communication system 1 in the case of TCPConnection A between portable phone 10 and gateway server 40 beingreleased when HTTP communication is being performed between portablephone 10 and content server 70.

Instances of release of TCP Connection A during HTTP communication canbroadly be divided into the following two categories:

(1) A user of portable phone 10 inputs an instruction to terminate HTTPcommunication during HTTP communication. For example, the user, havingrequested content from content server 70, either accidentally orpurposefully instructs discontinuation of content download.

(2) A wireless link between portable phone 10 and base station 20 isdisconnected during HTTP communication due to portable phone 10 movingoutside a communication range, or due to its battery becoming exhausted;or the wireless link or a wired link between base station 20 and gatewayserver 40 is disconnected during HTTP communication as a result ofcongestion or of a failure occurring in mobile packet communicationnetwork 100.

In either of the above cases (1) and (2), it is assumed that HTTPcommunication is discontinued before a HTTP Response including contentis delivered to portable phone 10.

Now, description will be given, with reference to FIG. 5 and FIG. 6, ofan operation performed by portable phone 10, gateway server 40, andbilling management server 50 in the above case (1). In the sequencecharts appearing in the figures, there are shown only signalstransmitted and received using a U-Plane protocol, as is the case inFIG. 4. Also, description of those portions corresponding to thosealready described in relation to FIG. 4 will be simplified. Further, inFIG. 6, the same step numbers have been assigned to the same steps asappear in FIG. 5, and description thereof will be omitted.

In FIG. 5, when a TCP Connection Open is transmitted from portable phone10 (step S201), signals required for opening a TCP Connection aretransmitted/received between portable phone 10, gateway server 40,content server 70 (not shown in the figure), and other relay nodes forTCP Connection A, B (step S202), thereby establishing TCP Connection Abetween portable phone 10 and gateway server 40 and TCP Connection Bbetween gateway server 40 and content server 70. As a result, HTTPcommunication is established between portable phone 10 and contentserver 70.

Next, when a HTTP Request is transmitted from portable phone 10, theHTTP Request is transmitted to gateway server 40 via TCP Connection A(step S203). The HTTP Request is further transmitted from gateway server40 to billing management server 50 via TCP Connection B, and stillfurther to content server 70 (step S204).

After the HTTP Request is thus transmitted, when a user of portablephone 10 wishes to terminate the HTTP communication, portable phone 10is caused to transmit TCP Connection Close to gateway server 40following the user's instruction (step S205). After receiving the TCPConnection Close, gateway server 40 releases TCP Connection A withportable phone 10.

Subsequently, to obtain billing information from billing managementserver 50, gateway server 40 half-closes TCP Connection B so as tomaintain TCP Connection B until server 40 receives a HTTP Response.

In other words, gateway server 40 first transmits, to billing managementserver 50, a FIN (Finish) signal requesting TCP Connection Close via TCPConnection B1 (step S206). Upon receiving the FIN signal for TCPConnection Close, billing management server 50, transmits to gatewayserver 40 ACK via TCP Connection B1 (step S207).

Subsequently, billing management server 50 releases TCP Connection B2from content server 70, and then determines which billing option is tobe applied to the HTTP Request transmitted from portable phone 10 in theabove step S203. Such determination is made on the basis of storedinformation in the server (billing management information). Next,billing management server 50 generates a HTTP Response, and inserts inthe extension header of the HTTP Response billing information specifyinga determined billing option and the like, for transmission to gatewayserver 40 (step S208).

Gateway server 40, upon receiving the HTTP Response, stores in itsmemory billing information inserted in the extension header of theResponse. Gateway server 40 abandons data of the HTTP Response afterstoring the billing information in the memory since TCP Connection A hasalready been released.

Also, billing management server 50, after transmitting the HTTPResponse, transmits, to gateway server 40, FIN for terminating ahalf-closed TCP Connection B (step S209). Gateway server 40, when itreceives FIN from billing management server 50, returns ACK to billingmanagement server 50 (step S210), thereby terminating HTTPcommunication. By performing the above steps S209 and S210, TCPConnection B (TCP Connection BI because TCP Connection B2 has alreadybeen released after the above step S207) is released.

In the meantime, gateway server 40 measures an amount of packet datatransmitted to and from portable phone 10 using a U-Plane protocol froma time that TCP Connection Open was transmitted from portable phone 10in the above step S201 to the time that TCP Connection A was released.Gateway server 40 transmits the measured data amount and the billinginformation in the memory to billing processing device 80 (step S211).Billing processing device 80 performs, on the basis of the data amountand the billing information received from gateway server 40, a billingprocess for communication charges up to the time that HTTP communicationwas disconnected; and on the basis of the result of the process,accounting center 90 computes, for each portable phone 10 and contentprovider, communication charges for packet communication so as to issuea bill.

FIG. 6 is a sequence chart illustrating the process described in FIG. 5in detail. In FIG. 6, the description of the same steps as those shownin FIG. 5 are omitted and detailed description will be given for theprocess from steps S205 to S210.

In the above step S205, it is assumed that gateway server 40 receivesTCP Connection Close from portable phone 10 either (a) after receiving,from billing management server 50, a HTTP Response originating fromcontent server 70, or (b) before receiving the response. In the case(a), gateway server 40 abandons data of HTTP Response after storing thebilling information inserted in the extension header of the Requestbecause TCP Connection A with portable phone 10 has already beenreleased. Subsequently, TCP Connection B is released.

In the case (b), gateway server 40 has not obtained billing informationbecause it has not received a HTTP Response from billing managementserver 50. Consequently, gateway server 40 maintains TCP Connection Buntil it receives a HTTP Response from billing management server 50, soas to obtain billing information. Under these circumstances, TCPConnection B1 is maintained in a half-closed state, and gateway server40 is able to receive a HTTP Response as long as a connection of thecommunication for transmitting data in the direction from billingmanagement server 50 to gateway server 40 is maintained. In other words,TCP Connection B1 is maintained in a half-closed state in a case thatgateway server 40, after transmitting to billing management server 50 aHTTP Request originating from portable phone 10, receives TCP ConnectionClose from portable phone 10 without receiving from billing managementserver 50 a HTTP Response for the concerned HTTP Request.

Specifically, as shown in FIG. 6, gateway server 40 transmits to billingmanagement server 50, FIN requesting TCP Connection Close via TCPConnection B1 (step S206). Billing management server 50, upon receivingFIN, transmits ACK to gateway server 40 via TCP Connection B1 (stepS207). As a result, communication for transmitting data in a directionfrom gateway server 40 to billing management server 50 is discontinued,while communication for transmitting data in the direction from billingmanagement server 50 to gateway server 40 is maintained (i.e., ahalf-closed state).

Further, after billing management server 50 transmits ACK to gatewayserver 40 in step S207, TCP Connection B2 with content server 70 isreleased. Specifically, billing management server 50 transmits tocontent server 70 FIN, requesting TCP Connection Close via TCPConnection B2 (step S601). In response to the received FIN, contentserver 70 transmits ACK to billing management server 50 via TCPConnection B2, and transmits FIN requesting TCP Connection Close at thesame time (step S602). Billing management server 50, upon receiving FINrequesting TCP Connection Close, transmits ACK to content server 70 viaTCP Connection B2 (step S603). As a result, TCP Connection B2 is closed.

A case may occur wherein billing management server 50 has alreadyreceived from content server 70 a HTTP Response including content at thetime of receiving, from gateway server 40, FIN requesting TCP ConnectionClose in the above step S206. In such a case, billing management server50 determines, on the basis of the concerned HTTP Response and storedinformation (billing management information), a billing option and thelike to be applied to the HTTP communication. Billing management server50 then inserts in the extension header of the HTTP Response billinginformation specifying the billing option and the like for transmissionto gateway server 40 (step S208).

In a case that billing management server 50 has not received fromcontent server 70 a HTTP Response including content at the time ofreceiving from gateway server 40 FIN requesting TCP Connection Close inthe above step S206, billing management server 50 determines, on thebasis of the concerned HTTP Request and stored information (billingmanagement information), a billing option to be applied to HTTP Requesttransmitted from portable phone 10. Billing management server 50 thengenerates a HTTP Response with no content included, and inserts billinginformation including the determined billing option and the like in theextension header of the Response for transmission to gateway server 40(step S208).

Gateway server 40, upon receiving the HTTP Response, stores the billinginformation inserted in the extension header. Since TCP Connection A hasalready been released, gateway server 40 abandons data of HTTP Responseafter storing the billing information in its memory.

On the other hand, billing management server 50, after transmitting aHTTP Response, transmits to gateway server 40 FIN for terminating thehalf-closed TCP Connection B1 (step S209). Gateway server 40, when itreceives FIN from billing management server 50, returns ACK to billingmanagement server 50 (step S210), thereby terminating HTTPcommunication. By the process performed in the above steps S209 andS210, TCP Connection B1 is released.

Next, description will be given, with reference to FIGS. 7 and 8, of anoperation of portable phone 10, gateway server 40, and billingmanagement server 50 in the above-described case (2), i.e., in a casethat a packet link in mobile packet communication network 100 isdisconnected during HTTP communication. In the figures, signalstransmitted and received using a U-Plane protocol are designated bysolid lines, and signals transmitted and received using a C-Planeprotocol are designated by dashed lines. Also, in the figures, the samesteps as those shown in FIGS. 5 and 6 are assigned the same numbers, anddescription thereof is omitted.

TCP Connection A is first established between portable phone 10 andgateway server 40 by the process of steps S201 to S204, and TCPConnection B is established between gateway server 40 and content server70 (not shown in FIG. 7). By way of TCP Connection A and TCP ConnectionB, a HTTP Request is transmitted from portable phone 10 to contentserver 70.

After portable phone 10 transmits the HTTP Request, TCP Connection A maybe disconnected before gateway server 40 receives a HTTP Response to theHTTP Request, as a natural result of a disconnection of a wireless linkdue to portable phone 10 moving outside the communication range(including a case where portable phone 10 is located within a servicearea but is located underground where it is not accessible by radio) orwhen a battery of portable phone 10 is exhausted, or because ofconnection congestion, or a failure, such as a malfunctioning of adevice in a wireless zone or in a wired zone within mobile packetcommunication network 100.

For example, in a case that a wireless link between portable phone 10and base station 20 is disconnected, a disconnection notificationnotifying disconnection of the wireless link is transmitted to gatewayserver 40 from base station 20 via gateway switching station 30. Thedisconnection notification is a control signal transmitted by a C-Planeprotocol, NWMP. Similarly, in a case that congestion or a failure occursin mobile packet communication network 100, a relay node (e.g. basestation 20, gateway switching station 30, subscriber switch station (notshown)) detecting connection congestion or a failure transmits adisconnection notification to gateway server 40 using NWMP.

In FIGS. 7 and 8, gateway server 40, upon receiving the disconnectionnotification (step S301), releases TCP Connection A. It is to be notedthat portable phone 10 has a function to detect disconnection of apacket link, whereby TCP Connection A established with gateway server 40is released in a case of detecting a disconnection of a packet link.

Gateway server 40 also transmits, according to NWMP, a disconnectionnotification response to a relay node which has transmitted thedisconnection notification (step S302), and transmits, according to GMP,to billing management server 50 a release notification notifying thatTCP Connection A has been released (step S303).

In the meantime, gateway server 40, billing management server 50, andcontent server 70 perform steps S206 to S211, shown in of FIGS. 7 andFIG. 8, and steps S601 to S603, shown in FIG. 8, responsive to therelease of TCP Connection A. Specifically, TCP Connection B1 enters ahalf-closed state, and TCP Connection B1 is maintained until gatewayserver 40 receives a HTTP Response from billing management server 50.Gateway server 40 also transmits an amount of packet data transmitted toand received from portable phone 10 using a U-Plane protocol, as well asthe billing information, to billing processing device 80. Then, billingprocessing device 80 performs, on the basis of the packet data amountand the billing information, a billing process for the HTTPcommunication up to the time of the disconnection. Communication chargesare then computed in accounting center 90.

As stated in the foregoing description, in the present embodiment, inthe case that gateway server 40 detects discontinuation of TCPConnection A between portable phone 10 and gateway server 40 whenrelaying HTTP communication between portable phone 10 and content server70, TCP Connection B1 is maintained until gateway server 40 receives,from billing management server 50, billing information for the HTTPCommunication up to the time that the TCP Connection A is disconnected.

Thus, even in a case that HTTP communication is prematurelydisconnected, correct billing relative to an amount of data transmittedin HTTP communication up to the time of the disconnection can be carriedout in mobile packet communication network 100.

It is to be noted that in this example gateway server 40 executes theprocess described above on the basis of a program stored in the memoryof gateway server 40. However, a program for executing such a processmay be obtained by gateway server 40 via communication. Further, such aprogram may be provided to gateway server 40 by way of a recordingmedium such as an optical recording medium, a magnetic recording medium,a semiconductor memory, and the like.

B. Modifications

In the foregoing description, different embodiments of the presentinvention have been described. However, it will be understood by oneskilled in the art that the present invention may be implemented invarious other ways without departing from the essential idea andfeatures described of the present invention. Namely, each of theabove-described embodiments represents a mere example of the presentinvention, and the actual scope of the present invention is defined bythe recitations in the appended claims. Further, it is to be understoodthat any modification within the range of equivalency as applied to theappended claims is included in the scope of the present invention.Example modifications are described in the following.

First Modification

In the above-described embodiment, TCP Connection B1 enters ahalf-closed state; and TCP Connection B2 enters a closed state, as shownin steps S206 to S211 of FIGS. 5 to 8 and steps S601 to S603 of FIGS. 6and 8. However, TCP Connection B1 need not necessarily enter ahalf-closed state, and any type of connection state is accepted ifcommunication in the direction from billing management server 50 togateway server 40 is maintained until gateway server 40 receives, frombilling management server 50, billing information for the HTTPcommunication up to the time that TCP Connection A was disconnected, ina case that discontinuation of TCP Connection A is detected during HTTPcommunication. Therefore, TCP Connection B may be maintained untilgateway server 40 receives a HTTP Response from billing managementserver 50. It is also accepted that, instead of entering only TCPConnection B1 into a half-closed state, the entire TCP Connection B maybe entered into a half-closed state.

FIG. 9 and FIG. 10 relate to the first modification of the presentinvention, and consist of a sequence chart showing an operation of eachunit of communication system 1 in a case that TCP Connection B ismaintained until gateway server 40 receives a HTTP Response from billingmanagement server 50. It is to be noted that in FIGS. 9 and 10 signalstransmitted and received using a U-Plane protocol are designated bysolid lines, and signals transmitted and received using a C-Planeprotocol are designated by dashed lines. Also, in the following,description of portions that are the same as those described relative toFIGS. 4 to 8 will be simplified.

FIG. 9 is a chart illustrating a case where termination of HTTPcommunication is instructed by a user of portable phone 10, by anoperation input, during HTTP communication between portable phone 10 andcontent server 70. In FIG. 9, the process of steps S401 to S406 is thesame as that of the steps S101 to S106 shown in FIG. 4.

Gateway server 40 of the present first modification has a timer forcounting time from when it transmits to billing management server 50 aHTTP Request received from portable phone 10 until it receives a HTTPResponse from billing management server 50; and releases TCP ConnectionB in a case that the counted time by the timer exceeds a prescribed time(a timeout value) stored in advance in the memory. It is to be notedthat the above timeout value is set sufficiently larger (e.g. 10minutes) than the timeout value waiting for HTTP Response (e.g., 5minutes) counted by billing management server 50.

Gateway server 40, after it transmits HTTP Request to billing managementserver 50 in step S405, starts counting time by the above timer (stepS407) so as to count time until it receives HTTP Response from billingmanagement server 50.

In the present first modification, gateway server 40 is characterized inthat, in the case of detecting discontinuation of TCP Connection Abefore the time counted by the above timer exceeds the timeout value,server 40 maintains TCP Connection B until it receives HTTP Responsefrom billing management server 50 or the counted time exceeds thetimeout value.

In other words, in a case that gateway server 40 receives TCP ConnectionClose from portable phone 10 without the time counted by the above timerhaving exceeded the timeout value and without receiving HTTP Responsefrom billing management server 50 (step S408), portable phone 10 andgateway server 40 first release TCP Connection A.

Subsequently, gateway server 40 maintains TCP Connection B until itreceives HTTP Response from billing management server 50 or the timecounted by the timer exceeds the timeout value. Then, once gatewayserver 40 receives HTTP Response from billing management server 50 (stepS410), server 40 stores in the memory the billing information insertedin the extension header of the HTTP Response. Also, since TCP ConnectionA is already released and the HTTP Response cannot be transferred toportable phone 10, gateway server 40 abandons the HTTP Response afterstoring the billing information in the memory.

Subsequently, each of gateway server 40, billing management server 50and content server 70 performs a process of releasing TCP Connection B(step S411), thereby terminating HTTP communication. Gateway server 40also transmits the amount of the packet data transmitted to and receivedfrom portable telephone 10 using a U-Plane protocol and billinginformation to billing processing device 80 (step S412), billingprocessing device 80 performs, on the basis of the data amount and thebilling information, a billing process for HTTP communication up to thetime of the disconnection, and the communication charge is computed ataccounting center 90.

FIG. 10 is a sequence chart illustrating a case where a packet link inmobile packet communication network 100 is disconnected during HTTPcommunication performed between portable phone 10 and content server 70.It is to be noted that in the figure, the same step numbers are assignedto the same steps as those of FIG. 9, and description thereof will beomitted. It is also to be noted that the process from steps S501 to S503of the figure is the same as the process of steps S301 to S303 of FIGS.7 and FIG. 8, and description thereof will be simplified.

Gateway server 40, after transmitting, to billing management server 50,a HTTP Request received from portable phone 10 in step S405, startscounting time by the timer (step S407). In a case that gateway server 40receives, from base station 20, gateway switching station 30, or asubscriber switching station (not shown) or any other relay node of thepacket link, a disconnection notification (NWWP) notifying adisconnection of a wireless link or a wired link in mobile packetcommunication network 100, without the time counted by the above timerhaving reached the timeout value and without receiving HTTP Responsefrom billing management server 50 (step S501), gateway server 40performs the process of releasing TCP Connection A.

In the meantime, gateway server 40 transmits a disconnectionacknowledgement (NWMP) to a relay node which is the sender of thedisconnection notification (step S502), and transmits, to billingmanagement server 50, release notification (GMP) notifying the releaseof TCP Connection A (step S503). Gateway server 40 then maintains TCPConnection B until it receives HTTP Response from billing managementserver 50 or the time counted by the timer exceeds the timeout value,and performs the process of steps S409 to S412.

Second Modification

In the above first modification, when gateway server 40 receives HTTPResponse in step S410 of FIG. 9 and FIG. 10, it abandons data of theHTTP Response after obtaining billing information from the HTTPResponse. This is because TCP Connection A has already been released,and HTTP Response cannot be transferred to portable phone 10.

However, TCP Connection A may have been disconnected for such a reasonthat a wireless link has temporarily been disconnected, in which caseTCP Connection A can be restored after some time. In such a case,gateway server 40 may store HTTP Response received in step S410 withoutabandoning it, and, in a case that TCP Connection A is restored within aprescribed time period, gateway server 40 reads the HTTP Response storedin the memory for transmission to portable phone 10. The HTTP Responsestored in the memory is deleted after a certain time period elapsessince it was stored in the memory.

Third Modification

In the above-described embodiment, billing information is inserted inthe extension header of HTTP Response, but instead, may be added to HTTPResponse transmitted from billing management server 50 to gateway server40. Alternatively, the billing information may be related to HTTPResponse and transmitted along with the related HTTP Response.

Fourth Modification

In the above-described embodiments, TCP is used as a connection-orientedcommunication protocol; the connection-oriented communication protocolis not limited to TCP and can include other protocols such as SPX(Sequenced Packet eXchange) and X25. Further, connection-orientedcommunication is not limited to HTTP communication, and may includecommunication using other protocols such as FTP (File TransferProtocol), SMTP (Simple Mail Transfer Protocol), and POP (Post OfficeProtocol).

Fifth Modification

In the above-described embodiment, portable phone 10 is used as acommunication terminal. However, the communication terminal is notlimited to portable phone 10 and may be a PDA (Personal DigitalAssistant), a mobile computer, a fixed personal computer, and the like,so long as the terminal has a function of performing wirelesscommunication and is capable of performing connection-orientedcommunication via mobile packet communication network 100. Further, thecommunication system may be configured in such a way that gateway server40 is provided outside mobile packet communication network 100. Stillfurther, content server 70 may be directly connected to billingmanagement server 50 via a dedicated line.

Sixth Modification

In the above-described embodiment, used as an example of mobile packetcommunication network 100 is a network which conforms to IMT-2000, butmobile packet communication network 100 is not limited to a networkconforming to IMT-2000. Further, the present invention is not limitedfor use in a mobile packet communication network and may be applied inany communication network that supports connection-orientedcommunication provided to subordinate communication terminal(s) if thenetwork performs a billing for communication in accordance with the dataamount and the like to bill a communication terminal.

1. A transfer device comprising: relaying means for relayingconnection-oriented communication performed between a communicationterminal and a correspondent communication device; time keeping meansfor counting time from when said transfer device transmits to saidcommunication device a request message for said communication device,said request message having received from said communication terminal,until said transfer device receives a response message transmitted fromsaid communication device in response to said request message; andconnection control means for controlling a connection, when saidconnection-oriented communication is being relayed by said relayingmeans, so as to maintain a connection between said transfer device andsaid communication device until said transfer device receives billinginformation for said connection-oriented communication from a billingmanagement device, said billing management device functioning as a relaynode of a connection between said transfer device and said communicationdevice, or until the time counted by said time keeping means exceeds aprescribed time, the maintaining of said connection being performed in acase that said counted time has not exceeded said prescribed time andthat said transfer device has not received said billing information. 2.A transfer device according to claim 1, wherein said billing informationis transmitted to said transfer device when said billing managementdevice transmits to said transfer device a response message responsiveto a request message transmitted from said communication terminal.